home *** CD-ROM | disk | FTP | other *** search
- EXPANSION BOX REFERENCE MANUAL
-
- Published by Rupp Corporation
- Copyright (C) 1989 by Sewell Development Corporation
-
- Expansion Box is a set of programs that allow one IBM compatible
- PC to use the disks and printers of another IBM compatible PC. This
- document describes the various device driver and TSR modules of
- Expansion Box.
-
- Note: Expansion Box and FastLynx are independent programs. FastLynx
- does not require Expansion Box nor does Expansion Box require
- FastLynx. However, it is possible to use FastLynx in "Local Copy"
- mode with the Expansion Box device drivers.
-
- The basic idea behind Expansion Box is to let one PC use another
- PC as an expansion box. The communication between the two PCs is
- accomplished with the high speed serial and parallel protocols
- developed for FastLynx (Fastwire II). The FastLynx program transmits
- files quickly between two computers. However, in many environments
- it is convenient to use two computers as if they are one computer.
- Expansion Box lets the disks and printers of one computer be accessed
- directly by another. Thus application programs can access
- information on both computers simultaneously. Regular DOS commands
- can use files on both computers and printing can be done by either
- computer (or both).
-
- A program like Expansion Box is possible because of a powerful
- feature of the MS-DOS operating system--known as installable device
- drivers. Device drivers are part of the operating system. They
- perform communication between a device--such as a disk or
- printer--and the rest of the computer. In some cases the device is
- in the same box as the rest of the computer (for example a disk or
- internal modem). In other cases the device is separate from the
- computer and communication is performed through a communication port
- and cable (such as a printer). In either case, the device driver is
- the software that controls the communication to the device.
-
- Expansion Box device drivers are no different from regular device
- drivers. Communication occurs on a serial or parallel cable and the
- controlled device is another computer. The computer with the device
- drivers is called the lead or master computer. The controlled
- computer is called the server or slave computer.
-
- You may have noted that these device drivers are "installable".
- Unfortunately, this means that they must be installed. The EBOX
- program has a quick and easy installation option. The installation
- option modifies your CONFIG.SYS and AUTOEXEC.BAT files. To start the
- installation process, connect both computers with either a serial or
- parallel FastLynx cable and start the EBOX program on both computers.
- On the lead computer (you must decide which should be the lead
- computer) press Enter and follow the given instructions.
-
- It's likely that you will need no further information about the
- installation process. However, some environments require a different
- setup than the installation option provides. To handle these
- situations, an explanation of the device driver options and features
- follows. If you have any problems or suggestions, please give us a
- call!
-
-
-
- EXPANSION BOX FILES
-
-
- There are seven files in the Expansion Box program. They are:
-
- 1) EBOX.EXE The server program. Execute this program on the
- server computer when you want Expansion Box to be
- active. EBOX handles requests from the device
- drivers on the lead computer. Also, EBOX has options
- to install the device drivers, to change the current
- drive assignments and print mode, and to un-install
- the device drivers.
-
- 2) EBOX.HLP The help screens for the EBOX.EXE program.
-
- 3) README.BOX This file.
-
- 4) EBOXPAR.SYS The main Expansion Box device driver for parallel
- communication. This device driver contains all the
- code needed to use the disk drives of the server
- computer using a parallel communication protocol.
-
- 5) EBOXSER.SYS The main Expansion Box device driver for serial
- communication. This device driver contains all code
- needed to use the disk drives of the server
- computer using a serial communication protocol.
-
- 6) EBOXCHAR.SYS An auxiliary Expansion Box device driver for
- additional character devices. This device driver
- contains all the code needed to use character devices
- on the server computer. Usually this would be a
- printer, but it could also be used for COM ports or
- even the server's clock.
-
- 7) EBOXPRN.COM A TSR (Terminate and Stay Resident) program used for
- redirecting BIOS level printing.
-
- EBOX.EXE and EBOX.HLP are the only files required on the server
- computer. All others are used only on the lead system. The EBOX.EXE
- program must be executing on the server system with the FastLynx
- cable connected for the lead system to be able to access the drives
- and devices of the server. If EBOX is not executing or the cable is
- not connected, a drive or device not ready error will be issued.
-
-
-
- Main Block Device Drivers EBOXSER.SYS and EBOXPAR.SYS
-
- EBOXSER.SYS and EBOXPAR.SYS perform the same function. The only
- difference between the two drivers is the communication protocol
- used. EBOXSER.SYS uses serial communication and EBOXPAR.SYS uses
- parallel communication. The installation process will determine
- which FastLynx cable you connected and install the correct driver for
- that cable. The installation process also performs three other
- important services for these drivers:
-
- First, it sets the ports on which communication can take place.
- It sets the device drivers port list to EBOX's port list. The
- parallel driver ignores serial ports, likewise the serial driver
- ignores parallel ports. Normally the port list is "LPT*,COM*", and
- communication can occur on all valid ports. To have the program
- automatically select the port that is connected to the other computer
- is a great convenience. However, you can select a specific or
- non-standard port (or set of ports). See the help screen to the port
- list configuration for more details.
-
- Second, the installation process sets up the default drive
- assignments. Each drive on the server computer that you want to use
- from the lead computer must be assigned a drive letter.
- Unfortunately, the drive letter on the server system is usually being
- used by some other drive on the lead system. For example: if you
- want to use the server's drive A:, it needs to be assigned a drive
- letter on the lead system. It would be nice to use the same drive
- letter, but A: is already assigned to the lead computer's floppy disk
- so another drive letter, such as D: or E:, must be assigned. It is
- possible to assign any currently unused letter to the drive. However,
- MS-DOS assigns drive letters sequentially. If you assign a drive to
- the letter Z:, all other drive letters (for instance letters between
- E: and Y:) will be unavailable for use other than within EBOX. Also,
- each unused drive letter can require up to 200 bytes of resident
- memory! Attempts to use unassigned drive letters will result in the
- lead system issuing an invalid unit number error. The installation
- option will display a warning if this condition can occur.
-
- The drive letter assignments are probably the most difficult part
- of the Expansion Box programs to understand and use. It is often
- difficult to remember which drive letters you have assigned to server
- drives. You can examine the current drive assignments by choosing
- the "Change drive assignments" option of the EBOX program. This
- option also allows you to change the current drive assignments.
-
- One mnemonically useful way to set up the drive assignments is
- to assign the server systems floppy drive to F: and its hard disk
- to H:.
-
- The last service performed by the installation option is for
- serial drivers only. The installation will set the baud rate of the
- serial driver to the baud rate used at installation time. Some
- computers cannot use the highest baud rate (notably the PS-2
- Model-80). If you are having problems with serial communication,
- run the FastLynx diagnostic option to determine a safe baud rate.
-
- There are some options for block device drivers that are not
- available through the installation process. To use these options,
- install the device driver normally. After installing the drivers,
- you can edit your CONFIG.SYS file to take advantage of these options.
- After you have edited the CONFIG.SYS file, you will need to re-boot
- the computer to make the options effective. The syntax for the
- device line in the CONFIG.SYS file is as follows:
-
- DEVICE=[path\]EBOXPAR.SYS [/Rdddd] [/Ssignature] [/A]
-
- for parallel communication or
-
- DEVICE=[path\]EBOXSER.SYS [/Rdddd] [/Ssignature] [/A]
-
- for serial communication (fields in [] are optional).
-
- /Rdddd Specifies a maximum wait time for receive timeouts in
- seconds.
-
- /Ssignature Specifies a unique signature for this device driver.
-
- /A Specifies Auto Configuration Mode.
-
- Some types of devices are unusually slow in responding to
- requests made by the device driver. Normally the device driver makes
- a request and waits for a response from the server system. The
- maximum time that the device driver will wait is specified with the
- /R option. Example: /R60 tells the device driver to wait one minute
- before timing out. The default value is 20 seconds. This is more
- than necessary for all hard disks, floppy disks, ram disks, etc.
- However, once in a while a longer timeout is needed. A case where a
- longer timeout would be needed is when a tape drive is being used to
- emulate a disk drive and the rewind time takes too long.
-
- The /S switch is used to give this device driver a unique
- identity. This is useful for hooking up multiple server computers to
- one lead computer. A later section explains the use of this option.
-
- In some environments it is useful to have the drive assignments
- set up according to information received at boot time. The following
- actions will take place when the /A option is used and communication
- is established at boot time. 1) The number of logical drives
- installed will be the number of logical drives on the server system.
- 2) The drive assignments will begin at the first available drive
- letter and proceed sequentially--one for each drive on the server.
- If communication is not established at boot time, the /A option has
- no effect. After booting, the drive assignments can be changed in
- the normal manner. This option is most useful when you are using one
- computer to hook up to several different server computers at
- different times. However, its usefulness is limited because you must
- reboot every time you hook up to a different computer. If you do not
- reboot when you hook up to another computer, you will receive a
- server mismatch error. Expansion Box forces this error to avoid
- problems with the computer's disk cache.
-
-
-
- BIOS Level Print Redirector EBOXPRN.COM
-
- Printing can be sent to the server computer at two levels. One
- method is to install a character device driver for the printer. This
- method will be described in the next section. Another method is to
- trap the print requests at the BIOS level. There are several
- advantages to trapping print requests at the BIOS level. First, many
- applications use BIOS level printing rather than DOS level printing.
- Also, the Print Screen keys (PrtSc and Ctrl/P) use BIOS level
- printing. The standard LPT device drivers simply call the BIOS to
- perform the actual printing, so trapping the print requests at the
- device driver level is not really necessary.
-
- The EBOXPRN.COM TSR performs BIOS level print redirection. The
- installation process will place a command in AUTOEXEC.BAT to load
- this TSR. If you do not desire printing to be redirected, remove the
- line from AUTOEXEC.BAT. EBOXPRN requires that one of the Expansion
- Box block drivers be loaded. If a main block driver is not found, an
- error message will be displayed and EBOXPRN will not install itself.
- If EBOXPRN has already been loaded, it does not reload itself, but
- simply changes the current options. The command line is:
-
- eboxprn [/Ssignature] [/Mm] [/Pls[ls[ls]]]
-
- The /Ssignature option identifies a particular main Expansion Box
- driver that contains the communication protocol. This option is
- described in a later section.
-
- The /P switch specifies a port mapping table. Each ls pair
- contains a mapping for a single BIOS port. Both the l and the s must
- be between 1 and 3 inclusive. The l specifies the line printer
- number on the lead system (1 for LPT1, 2 for LPT2, ...) and the s is
- the line printer number on the server system to which the print from
- the lead printer is to be sent. If the /P is specified, all ports
- not specifically mentioned, will not be redirected. Examples:
-
- /P12 redirects lead printer LPT1 to server printer LPT2 and
- does not redirect LPT2 or LPT3.
-
- /P1222 redirects both LPT1 and LPT2 to the server's LPT2. LPT3
- is not redirected.
-
- If no /P switch is found when the TSR is loaded, /P112233 is
- assumed.
-
- The /Mm defines the current printing mode. M can be one of R, L,
- or A.
-
- R Remote mode. When in remote mode, all print requests will be
- sent to the server system. If the server printer is not on-
- line or the server system is not connected (or not running
- EBOX), a printer off line error code will be returned to the
- lead system.
-
- L Local mode. When in local mode, print requests are not sent
- to the server computer. No port mappings are done. This
- mode essentially turns off all print redirection.
-
- A Autoswitch mode. This mode attempts to print on the server
- computer. However, if the server printer is not on-line,
- an attempt will be made to do the printing on the lead
- computer. Essentially, this mode attempts to find which
- computer has an on-line printer, and sends the print request
- to that printer.
-
- The print mode can be changed by either the EBOXPRN command or by
- using the Change Print Mode option in the EBOX program. The port
- mapping table can only be changed with the EBOXPRN command.
-
-
- Character Device Drivers EBOXCHAR.SYS
-
- There are two kinds of device drivers--block and character. Block
- devices are devices which have files stored on them--such as disks,
- or floppy disks. Character devices are non-file devices used for
- input or output--such as printers, keyboards, or mice. Accesses to
- block devices are made through drive letters such as A: or C:.
- Accesses to character devices are made through a name such as COM1 or
- LPT2. The EBOXPAR.SYS and EBOXSER.SYS device drivers are block
- drivers. With one of those device drivers, you can get access to all
- of the block devices on the server computer. EBOXCHAR.SYS is a
- character driver with which you can gain access to a single character
- driver on the server system. The installation program does not
- install this driver for you. If you wish to use one of the server
- system's character devices, you will need to add the following
- DEVICE= line to your CONFIG.SYS file:
-
- DEVICE=[path\]eboxchar.sys /Nname /Rserver_name [/Ssignature]
-
- The signature option and path are optional. However you must
- specify both the lead name (/N) and the server name (/R). These
- options are described below:
-
- The /Ssignature option is used to identify the particular main
- Expansion Box driver that contains the communication protocol. This
- will be described in a later section. Note, an Expansion Box block
- device driver must be loaded before any character device drivers.
-
- The /Nname option specifies the character device name on the lead
- system. This can be from one to eight of the valid filename
- characters. If this name is the same as a device driver that already
- exists on the lead system, then the previous driver will be
- superceded by this device driver.
-
- The /Rserver_name specifies the character device name on the
- server system. This device name must be an already existing device
- driver on the server system. If it does not exist, you will be given
- an error message if you attempt to use the device. Like the lead
- name, this name can be from one to eight valid filename characters.
-
- Examples:
-
- DEVICE=EBOXCHAR.SYS /NLASER /RLPT2
-
- This device line adds a new device LASER to the lead system.
- Output requests made to the device LASER will be sent to the server
- system's LPT2.
-
- DEVICE=EBOXCHAR.SYS /NPRN /RPRN
-
- This device line replaces the lead systems PRN device with the
- remote systems PRN device. Output that would normally go to the PRN
- device on the lead computer will be sent to the PRN device on the
- server computer. Normally this would not be needed as the BIOS level
- redirection (EBOXPRN.COM) can perform the same operation. However,
- if you have an improved print spooler, it may be useful to redirect
- the print at the device driver level rather than the BIOS level to
- take advantage of the spooler's better print buffering.
-
- DEVICE=EBOXCHAR.SYS /NCOM2 /RCOM1
- DEVICE=EBOXCHAR.SYS /NREMPRN /RPRN
-
- The above example adds two device drivers to the lead system.
- Note that both device drivers use the same driver file. The first
- line replaces the lead system's COM2 with the remote system's COM1
- device. Input and output requests on COM2 will be redirected from/to
- the server system's COM1. The second line adds a new device REMPRN
- to the lead computer. It will send output to the server computer's
- PRN device. (Note, there is a difference between the device PRN and
- LPT1--the difference is the name--but DOS thinks that the two are
- different devices).
-
- Any character device driver can be superceded by an Expansion
- Box device (except the NUL device). This includes devices such as
- CLOCK$ and CON. However, overriding the CON device (the keyboard and
- screen) will most likely not yield the expected results. Too many
- programs skip the device driver levels and write directly to the
- screen or read directly from the keyboard at the BIOS or hardware
- level. If you want to experiment with the CON device we STRONGLY!!
- recommend that you test the process from a bootable floppy disk
- before installing the device driver on you hard disk!
-
-
- Installing More than One Expansion Box
-
- It is possible to have multiple servers attached to a single lead
- computer. The main block drivers do all of the actual communication.
- The character device drivers and the TSR look for the presence of a
- main block driver and use the protocol routines within the main
- driver for communication to the server computer. This is done to
- save (a lot of) resident memory. However, it causes problems when
- multiple block drivers are installed; an auxiliary driver or TSR will
- not know which main driver to use. To solve this problem all
- Expansion Box device drivers, TSRs and the EBOX program itself take a
- command line argument /Ssignature. When the auxiliary driver or TSR
- is loaded, it looks for the main driver with the matching signature.
- If a main driver with the same signature is not found, an error will
- be reported and the device driver will not be installed. The
- signature can be from one to eight valid filename characters.
-
- To change drive mappings or print modes when multiple drivers are
- installed, the EBOX.EXE program also takes a /Ssignature option on
- the command line. Note that if you misspell the signature, the EBOX
- program will not find the main driver you were looking for and think
- that no drivers are installed. If this happens, simply exit and try
- again.
-
- One other problem can occur when trying to install multiple
- Expansion Boxes. If you have additional FastLynx parallel or serial
- cables, you may want to use the same communication protocol to talk
- to both server computers. The problem is that the device drivers for
- both server computers would have the same name (either EBOXSER.SYS or
- EBOXPAR.SYS). The port list and drive assignments tables are part of
- the driver itself, so you cannot use the same device driver file for
- both servers. One solution to this problem is to install the first
- driver, rename the device driver and change the DEVICE= line in
- CONFIG.SYS appropriately, then install the second driver (with a
- different port list, signature, and drive assignment tables). You
- should completely install the first driver (including the re-boot)
- before attempting to install a second one.
-
-
- Partitions Larger than 32MB and 12-bit vs 16-bit FATs
-
- Expansion Box correctly handles partitions larger that 32MB on
- IBM DOS 4.0, Compaq DOS 3.31, and Zenith DOS 3.30 PLUS. The method
- to handle large partitions for DOS 4.0 is slightly different than the
- method used by DOS 3.31 and DOS 3.30+. However, Expansion Box
- detects this condition and adjusts accordingly. That is, it is
- possible to have a DOS 4.0 system for one computer and a DOS 3.31 or
- DOS 3.30+ system for the other, both with large partitions.
-
- Due to the evolving nature of MS-DOS, there are certain errors
- that can occur when the lead computer is running a DOS version
- previous to the DOS version on the server. These conditions are
- given below. Please note, it is always possible to reverse the roles
- of the computers to avoid these problems.
-
- DOS 2.xx cannot access a DOS 3.xx or 4.xx disk if the FAT (File
- Allocation Table) entries are 16-bits. DOS 2.xx can only access
- 12-bit FATs. DOS 3.0 and greater can access both 12-bit and 16-bit
- FATs. Attempts by a lead system running DOS 2.xx to access a server
- disk drive that has a 16-bit FAT will result in a NON-DOS disk error
- (which can only be aborted).
-
- DOS versions previous to DOS 3.31 cannot access partitions larger
- than 32MB. An attempt by a lead computer running a DOS version
- previous to DOS 3.31 to access a partition larger that 32MB will
- result in a NON-DOS disk error.
-
- There are several products on the market that modify DOS to be
- able to access partitions larger than 32MB (previous to DOS 3.31).
- To use Expansion Box with these products, both computers must be
- running the same modified DOS version. Attempts to access partitions
- larger than 32MB by DOS versions that are not modified in the same
- manner will result in a NON-DOS disk error. Generally these products
- work by using a sector size larger than 512 bytes. Expansion Box
- looks for sector size incompatibility and issues errors and warnings
- appropriately.
-
- You can also hook multiple computers up in a chain. However, the
- performance will not be as good as if the server computers are hooked
- up directly to the lead. In this case the computers in the middle of
- the chain are acting as both lead and server simultaneously.
-
- Optional Device Driver Features
-
- Starting with DOS 3.0 there are several optional features for
- device drivers. The Expansion Box block drivers support all of these
- optional features except IOCTL and GENERIC IOCTL (which include get
- and set logical device). Since Generic IOCTL is not supported, you
- will not be able to format disks through the Expansion Box drivers.
-
- The only feature not supported in the Expansion Box character
- drivers is GENERIC IOCTL. Not supporting the Generic IOCTL feature
- means that setting alternate character sets for character devices
- cannot be done though the Expansion Box. Note that the normal IOCTL
- is support (since it is often used to control printers and modems).
-
- Also note: attempts to access Expansion Box devices through the
- BIOS will not work (except BIOS printing which is handled by
- EBOXPRN.COM).
-